//
//package com.example.springbootmybatis.commons.tools.excel;
//
//import org.apache.commons.io.FileUtils;
//import org.apache.poi.hssf.usermodel.*;
//import org.apache.poi.ss.usermodel.Workbook;
//import org.apache.poi.xssf.usermodel.XSSFWorkbook;
//import org.springframework.stereotype.Service;
//
//import java.io.File;
//import java.io.FileInputStream;
//import java.io.FileOutputStream;
//import java.io.IOException;
//import java.util.ArrayList;
//import java.util.List;
//
///**
// * @author liucheng
// * @since 2020/01/15
// * poi操作Excel
// */
//
//@Service
//public class ExcelImpl {
//
///**
//     * 导出excel
//     *
//     * @param list 导出的数据源
//     */
//
//    public void export(List<TProduct> list) {
//        try {
//            // 第一步，创建一个workbook，对应一个Excel文件
//            HSSFWorkbook workbook = new HSSFWorkbook();
//
//            // 第二步，在webbook中添加一个sheet,对应Excel文件中的sheet
//            HSSFSheet hssfSheet = workbook.createSheet("sheet1");
//
//            // 第三步，在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
//            HSSFRow row = hssfSheet.createRow(0);
//
//            // 第四步，创建单元格，并设置值表头 设置表头居中
//            HSSFCellStyle hssfCellStyle = workbook.createCellStyle();
//
//            // 居中样式
//            // hssfCellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
//
//            HSSFCell hssfCell = null;
//
//            // 构建表头
//            String[] titles = {"序号", "产品名称", "货号", "描述"};
//            for (int i = 0; i < titles.length; i++) {
//                hssfCell = row.createCell(i);// 列索引从0开始
//                hssfCell.setCellValue(titles[i]);// 列名1
//                hssfCell.setCellStyle(hssfCellStyle);// 列居中显示
//            }
//
//            // 填充数据
//            for (int i = 0; i < list.size(); i++) {
//                row = hssfSheet.createRow(i + 1);
//                TProduct item = list.get(i);
//
//                // 第六步，创建单元格，并设置值
//                row.createCell(0).setCellValue(i + 1);
//
//                String name = "";
//                if (item.getName() != null) {
//                    name = item.getName();
//                }
//                row.createCell(1).setCellValue(name);
//
//                String code = "";
//                if (item.getCode() != null) {
//                    code = item.getCode();
//                }
//                row.createCell(2).setCellValue(code);
//
//                String description = "";
//                if (item.getDescription() != null) {
//                    description = item.getDescription();
//                }
//                row.createCell(3).setCellValue(description);
//            }
//
//            // 第七步，将文件输出到客户端浏览器
//            // 输出Excel文件
//            FileOutputStream output = new FileOutputStream("d:\\workbook.xls");
//            workbook.write(output);
//            output.flush();
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//    }
//
//
//
///**
//     * 读取excel
//     *
//     * @param fileQualifyName 文件路径
//     */
//
//    public List<TProduct> readExcelData(String fileQualifyName)  {
//        try {
//            List<TProduct> datas = new ArrayList<TProduct>();
//            File file = new File(fileQualifyName);
//            Workbook workbook = null;
//            if (fileQualifyName.contains(".xlsx")) {
//                FileInputStream fileInputStream = FileUtils.openInputStream(file);
//                workbook = new XSSFWorkbook(FileUtils.openInputStream(file));
//            } else {
//                workbook = new HSSFWorkbook(FileUtils.openInputStream(file));
//            }
//            // 获取一个工作表两种方式
//            // HSSFSheet sheet = workbook.getSheet("sheet0");
//            // 获取工作表的第二种方式
//            var sheet = workbook.getSheetAt(0);
//            int firstRow = 1;
//            // 获取sheet的最后一行
//            int lastRow = sheet.getLastRowNum();
//            // 循环内不要创建对象引用(集合中存的是对象的引用)
//            TProduct company = null;
//            for (int i = firstRow; i <= lastRow; i++) {
//                company = new TProduct();
//                var row = sheet.getRow(i);
//                int lastCol = row.getLastCellNum();
//                for (int j = 1; j < lastCol; j++) {
//                    var cell = row.getCell(j);
//                    if (cell == null) {
//                        continue;
//                    }
//                    if (j == 1) {
//                        company.setName(cell.getStringCellValue());
//                        continue;
//                    }
//                    if (j == 2) {
//                        company.setCode(cell.getStringCellValue());
//                        continue;
//                    }
//                    if (j == 3) {
//                        company.setDescription(cell.getStringCellValue());
//                        continue;
//                    }
//                }
//                // 读完一行将数据塞进去
//                //company.setConfirm(true);
//                datas.add(company);
//            }
//            return datas;
//        } catch (IOException e) {
//            e.printStackTrace();
//            return null;
//        }
//    }
//
//}
//*/
